package com.hanxing.kxcharge.module.operations.controller.admin.station.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 站点信息 Response VO")
@Data
@ExcelIgnoreUnannotated
public class StationRespVO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "11115")
    @ExcelProperty("主键")
    private Long id;

    @Schema(description = "运营商id", requiredMode = Schema.RequiredMode.REQUIRED, example = "3542")
    @ExcelProperty("运营商id")
    private Long orgId;

    @Schema(description = "电站名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
    @ExcelProperty("电站名称")
    private String stationName;

    @Schema(description = "国家code")
    @ExcelProperty("国家code")
    private Long countryCode;

    @Schema(description = "省code")
    @ExcelProperty("省code")
    private String provinceCode;

    @Schema(description = "市code")
    @ExcelProperty("市code")
    private String cityCode;

    @Schema(description = "区code")
    @ExcelProperty("区code")
    private String areaCode;

    @Schema(description = "镇级code")
    @ExcelProperty("镇级code")
    private String townCode;

    @Schema(description = "省市区中文名", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
    @ExcelProperty("省市区中文名")
    private String areaCodeName;

    @Schema(description = "地址", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("地址")
    private String address;

    @Schema(description = "服务电话")
    @ExcelProperty("服务电话")
    private String serviceTel;

    @Schema(description = "电站类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @ExcelProperty("电站类型")
    private Boolean stationType;

    @Schema(description = "电站状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @ExcelProperty("电站状态")
    private Boolean stationStatus;

    @Schema(description = "经度", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("经度")
    private BigDecimal stationLng;

    @Schema(description = "纬度", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("纬度")
    private BigDecimal stationLat;

    @Schema(description = "建设场所", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("建设场所")
    private Boolean construction;

    @Schema(description = "电站位置（地上、地下）", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("电站位置（地上、地下）")
    private Boolean stationAddress;

    @Schema(description = "可用电容")
    @ExcelProperty("可用电容")
    private String capacitance;

    @Schema(description = "分润设置", example = "2")
    @ExcelProperty("分润设置")
    private String shareType;

    @Schema(description = "是否收取占用费", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("是否收取占用费")
    private Boolean isOccupationCost;

    @Schema(description = "停车免费时间")
    @ExcelProperty("停车免费时间")
    private String parkBufferTime;

    @Schema(description = "超额费用")
    @ExcelProperty("超额费用")
    private BigDecimal overtimeMoney;

    @Schema(description = "超额min")
    @ExcelProperty("超额min")
    private String overtimeMin;

    @Schema(description = "单次扣款限额")
    @ExcelProperty("单次扣款限额")
    private BigDecimal singleDeductionLimit;

    @Schema(description = "道闸", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("道闸")
    private Boolean isBrake;

    @Schema(description = "停车说明")
    @ExcelProperty("停车说明")
    private String parkExplain;

    @Schema(description = "站点描述")
    @ExcelProperty("站点描述")
    private String stationDescribe;

    @Schema(description = "站点服务设施")
    @ExcelProperty("站点服务设施")
    private Integer serviceSetup;

    @Schema(description = "周边基础设施")
    @ExcelProperty("周边基础设施")
    private Integer baseSetup;

    @Schema(description = "开放说明时间")
    @ExcelProperty("开放说明时间")
    private String openExplain;

    @Schema(description = "主入口图")
    @ExcelProperty("主入口图")
    private String imgMainEntrance;

    @Schema(description = "标志路劲")
    @ExcelProperty("标志路劲")
    private String imgFlagPath;

    @Schema(description = "电站全景")
    @ExcelProperty("电站全景")
    private String imgFullView;

    @Schema(description = "电站特写")
    @ExcelProperty("电站特写")
    private String imgPilesFeature;

    @Schema(description = "其他图片")
    @ExcelProperty("其他图片")
    private String imgOther;

    @Schema(description = "资质")
    @ExcelProperty("资质")
    private String qualification;

    @Schema(description = "备注说明")
    @ExcelProperty("备注说明")
    private String remarks;

    @Schema(description = "是否启用电站", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("是否启用电站")
    private Boolean isEnableStart;

    @Schema(description = "客服电话")
    @ExcelProperty("客服电话")
    private String hotLine;

    @Schema(description = "站点code")
    @ExcelProperty("站点code")
    private String stationCode;

    @Schema(description = "总电量")
    @ExcelProperty("总电量")
    private BigDecimal sumPower;

    @Schema(description = "站点服务设施")
    @ExcelProperty("站点服务设施")
    private Integer stationServiceSets;

    @Schema(description = "单价关联id", example = "8778")
    @ExcelProperty("单价关联id")
    private Long costTemplateId;

    @Schema(description = "场地属性", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("场地属性")
    private Boolean property;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    @Schema(description = "设备所属id", example = "17101")
    @ExcelProperty("设备所属id")
    private String equipmentOwnerId;

}